# -*- coding: utf-8 -*-

import sys
import random
import math

def main():
	'''
	Cadeia de caracteres
	'''
	# uma string	
	s1 = "stingy çõá"
	print type(s1)

	# uma string unicode
	s2 = u"Ação Revolucionária"
	print type(s2)

	# ou em alternativa 
	s1 = str("stingy çõá")
	s2 = unicode("Ação Revolucionária", errors= 'ignore')
	print s2

	# e para corrigir um errito
	
	s3 = unicode('abcdef' + chr(255), errors= 'replace')
	print s3	
	

	u = unichr(40123) + u'Alá =' + unichr(0x0647) + \
		unichr(0x0644) + unichr(0x0644) + unichr(0x0627) + \
		' = ' + u"\uFDF2"
	z = u.encode('utf-8')
	print z
	
	s = "Mas que belo dia"
	x = 'q'
	if x in s:
		print "a letra 'q' encontra -se em s"
	t = "Amsterdão"
	print s + t
	print 3 * t
	print s[5], s[5:8], s[5:12:2]
	print len(t), len(s)
	print min(s), max(t)
	print "indice de 'q' =", s.index('q')
	print "vezes em que aparece 'm' =", t.count('m')
	
	s1 = "Anda um espectro pela Europa"
	i = s1.find('ctro', 3, 20)
	print s1[i:i + 5]
	print s1.strip('a')
	t = s1.partition(' ')
	print t
	l = """
		Alama minha gentil, que te partiste
		
		Alama minha gentil, que te partiste
		Tão cedo desta vida, descontente , 
		Repousa la no Ceu eternamente
		E viva eu ca na terra sempre triste
	""".splitlines()
	print l
	
	x = 23.4
	s1 = "raiz quadrada"
	y = 255
	s2 = "Temos {:^40} de x  = {valor:2.4f}".format(s1, 
		valor=x)
	s2 += "e y = 0x{yy:X}".format(yy=y)
	s2 += "\nA percentagem = {0:2.1%}".format(34/100.0)
	print s2
	
	'''
	Ficheiros
	'''
	f = open("teste.txt", "w")
	s = "treta"
	for k in range(10):
		f.write(s); f.write("\n")
	f.close()
	f = open("teste.txt", "r")
	f.seek(5)
	print f.tell()
	x = f.read(10)
	print x
	c = 0
	for line in f:
		print "{0}:".format(c), line
		c += 1
	f.close()
	with open("teste.txt", "r") as f:
		x = f.readline()
		if x == 'treta\n':
			print "voila"
	
	'''
	ficheiros especiais
	'''
	lista_aleatorios = [random.uniform(0, 100) for k in
						range(10)]
	
	for x in lista_aleatorios:
		string1 = str(x) + '\n'
		sys.stdout.write(string1)
	
	try:
		a = 0 / 0
	except:
		sys.stderr.write("\nERRO 0/0 it 's a no no ...\n")
	pass


main()
